iT邦幫忙

2023 iThome 鐵人賽

DAY 10
0

完成了7個epoch的sft訓練以後,結果差的慘不忍睹,現在我正在嘗試重頭來過看看能不能找出問題在哪;以作者的描述:

用于从头预训练+SFT一个小参数量的中文LLaMa2的仓库;24G单卡即可运行得到一个流畅中文问答的chat-llama2.

20230818更新,因为第一版(50M参数)的版本,当时很多评测样例其实出现在了SFT数据中,所以让我误以为模>> 型具备很流畅的问答能力,但是后面发现效果并没有那么好。后面使用了更多的数据和更大的模型,效果逐步提升。>> 所以大家如果有充足的算力和时间,可以逐步尝试加大模型,将参数量扩到百M以上,其实消费级显卡也是完全可以>> 接受的。

所以看起來,至少如果使用training set來驗證的話,結果應該是要不錯的;然而我使用training set來做eval結果卻不好,以下是擷取自train_1M_CN/Belle_open_source_1M.json的第一個問題,非常簡單,模型的回答卻莫名其妙:

下面是一篇文章的开头: "为了探讨这个主题,本文将提供一系列数据和实例,以证明这一观点。"
[標準答案]: 这个开头符合语法规则。
[模型回答]: 負擔(1498年3月23日日全无文字?)
这是1819年上映的喜剧片,包括由2009年上映的"C+
在2014年上映的《黑手)黑手推拉在1,255年

為了要找出問題點,我現在從頭梳理了一下整個流程:

1. pretrain

在baby llama2的pretrain做的事情非常簡單,就是純粹訓練語言模型,把一段文字喂給模型,一直要求他預測位移一個字以後的tokens。
以這個階段做的任務來看,我認為只是讓模型學會認字,理論上應該對SFT後的成果影響不會這麼大才對(雖然我看一篇文章寫pretrain佔了整個訓練總運算量的98%以上)

我打算先加入剛載好的百度的資料集,然後一樣只訓練一個50M的模型,整個重新訓練,然後再接著進入SFT的階段。

2. sft

  • 輸入: 保持健康的三个提示。
  • 答案: 以下是保持健康的三个提示:\n\n1. 保持身体活动。每天做适当的身体运动,如散步、跑步或游泳,能促进心血管健康,增强肌肉力量,并有助于减少体重。\n\n2. 均衡饮食。每天食用新鲜的蔬菜、水果、全谷物和脂肪含量低的蛋白质食物,避免高糖、高脂肪和加工食品,以保持健康的饮食习惯。\n\n3. 睡眠充足。睡眠对人体健康至关重要,成年人每天应保证 7-8 小时的睡眠。良好的睡眠有助于减轻压力,促进身体恢复,并提高注意力和记忆力。

目前研究下來,sft的訓練跟前一階段很類似,一樣是用語言模型的方式訓練,只是這個階段的輸入文章由問題答案兩個段落組成。


上一篇
Day 9 - Baby LLama2 Chinese (3)
下一篇
Day 11 - Baby LLama2 Chinese (5) Pretrain階段任務詳解
系列文
用單張顯卡探索大型語言模型的奧秘30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言